package org.dream.ui.chart;

/**
 * 
 * @author qiuriyuchen E-mail:panpan_001@126.com
 */
public interface YAxisModel extends AxisModel {

	/**
	 * 设置最大值
	 * 
	 * @param maxValue
	 *            最大值
	 */

	public abstract void setMaxValue(double maxValue);

	/**
	 * 得到最大值
	 * 
	 * @return 最大值
	 */

	public abstract double getMaxValue();

	/**
	 * 设置最小值
	 * 
	 * @param minValue最小值
	 */

	public abstract void setMinValue(double minValue);

	/**
	 * 得到最小值
	 * 
	 * @return 最小值
	 */

	public abstract double getMinValue();

	/**
	 * 得到值范围
	 * 
	 * @return 值范围
	 */

	public abstract double getRangeValue();

	/**
	 * 得到刻度数目
	 * 
	 * @return刻度数目
	 */

	public abstract int getTickCount();

	/**
	 * 得到刻度间距
	 * 
	 * @return 刻度间距
	 */
	public abstract double getTickDist();

	/**
	 * 得到刻度间隔像素长度
	 * 
	 * @return像素长度，最后再转换成int,减少中间损失
	 */

	public abstract double getTickDistPixel();

	/**
	 * 根据值坐标得到对应的像素坐标
	 * 
	 * @param value
	 *            值坐标
	 * @return 像素坐标
	 */

	public abstract int translateValueToPx(double trueValue);

	/**
	 * 根据像素坐标得到值坐标
	 * 
	 * @param screenPixel
	 *            像素坐标
	 * @return 值坐标
	 */
	public abstract double translatePxToValue(int screenPixel);

	public abstract void setIndex(Integer index);

	public abstract Integer getIndex();

	public abstract int getTopMargin();

	public abstract void setTopMargin(int topMargin);

	public abstract int getHeight();

	public abstract void setHeight(int height);

	public int getTickPixelY(int i);

	public boolean isdrawButtomLine();


	public abstract int getPixelXRight();
	public void adjustmentMaxAndMinVale();
}
